Veritabanından bir seferde tek bir sayı çeker. SequenceHiLoGenerator ise bir havuz oluşturur.
28 Haziran 2018 Perşembe
SequenceGenerator Sınıfı
27 Haziran 2018 Çarşamba
@DynamicInsert Anotasyonu
Örnek ver
26 Haziran 2018 Salı
@DiscriminatorOptions Anotasyonu
Giriş
Single Table Inheritance kullanan bir hiyerarşi olsun. Bu hiyerarşiye başka bir sınıftan OneToMany ilişki kurulursa bu anotasyon kullanılır.
force Alanı
Açıklaması şöyle
Şöyle yaparız.
Single Table Inheritance kullanan bir hiyerarşi olsun. Bu hiyerarşiye başka bir sınıftan OneToMany ilişki kurulursa bu anotasyon kullanılır.
force Alanı
Açıklaması şöyle
Örnekthe table contains rows with extra discriminator values that are not mapped to a persistent class
Şöyle yaparız.
@Entity
@Table(name = "TranzitOfficeLayer")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, include = "all")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "DTYPE", discriminatorType = DiscriminatorType.STRING)
@DiscriminatorOptions(force = true)
public abstract class OfficeLayer {
...
}
Query Arayüzü - Kullanmayın
Giriş
Şu satırı dahil ederiz.
constructor - Hibernate Session
Bu sınıf Hibernate Session sınıfı tarafından yaratılır.
constructor - EntityManager
Eğer JPA kullanıyorsak şöyle yaparız.
Örnek
Şöyle yaparız.
İmzası şöyle
Şöyle yaparız.
Şöyle yaparız.
Eğer native query kullanıyorsak named parameter (:myparameter) kullanılmaz. Bunun yerine (?myparameter) kullanılır.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Her parametre için çağırmak gerkir. Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
import org.hibernate.Query;
Bu arayüz deprecate edildi.constructor - Hibernate Session
Bu sınıf Hibernate Session sınıfı tarafından yaratılır.
constructor - EntityManager
Eğer JPA kullanıyorsak şöyle yaparız.
entityManager.createNativeQuery("...")
.unwrap(org.hibernate.Query.class)
.setParameter("number", new Integer(number))
.setParameter("userId", userId)
.setParameter("startDate", startDate)
.setParameter("endDate", endDate)
.setResultTransformer(new MyClassTransformer())
.list();
list metoduÖrnek
Şöyle yaparız.
@Autowired
SessionFactory sessionFactory;
public List<MyEntity> findSomeApples() {
Session session = sessionFactory.getCurrentSession();
List<?> result = session.createQuery("from MyEntity where apples=7")
.list();
@SuppressWarnings("unchecked")
List<MyEntity> resultCasted = (List<MyEntity>) result;
return resultCasted;
}
lockMode metoduİmzası şöyle
Query.lockMode (String alis,LockMode lockMode);
scroll metoduŞöyle yaparız.
ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY);
setFetchSize metoduŞöyle yaparız.
query.setFetchSize(Integer.MIN_VALUE);
setParameter metoduEğer native query kullanıyorsak named parameter (:myparameter) kullanılmaz. Bunun yerine (?myparameter) kullanılır.
Örnek
Şöyle yaparız.
String email = ...;
Query query = ...;
query.setParameter("email", email);
ÖrnekŞöyle yaparız.
String sql="select * from PunchHistory where punchDate = :date1"
List<PunchHistory> results =
session.createQuery(StackperksConstants.sql)
.setParameter("date1", java.sql.Date.valueOf(date), TemporalType.TIMESTAM)
.list();
setParameterList metoduHer parametre için çağırmak gerkir. Şöyle yaparız.
session.createQuery("select cat from Cat cat where cat.id in (:ids)")
.setParameterList("ids", new Long[]{1,2,3,4,5})
setReadOnly metoduŞöyle yaparız.
query.setReadOnly(true);
ConstraintViolationException Sınıfı
Giriş
Şu satırı dahil ederiz.
Eğer kodun Hibernate'ten bağımsız olmasını istiyorsak javax.persistence.PersistenceException nesnesini yakalamak gerekir.
Diğer bazı exception sınıfları şöyle
- StateObjectException
- GenericJDBCException
Örnek
Şöyle yaparız.
Hata mesajına ulaşmak için şöyle yaparız.
Şu satırı dahil ederiz.
import org.hibernate.exception.ConstraintViolationException;
Tüm Hibernate exception sınıfları gibi HibernateException sınıfından kalıtır. HibernateException sınıfı da javax.persistence.PersistenceException sınıfından kalıtır.Eğer kodun Hibernate'ten bağımsız olmasını istiyorsak javax.persistence.PersistenceException nesnesini yakalamak gerekir.
Diğer bazı exception sınıfları şöyle
- StateObjectException
- GenericJDBCException
Örnek
Şöyle yaparız.
try {
sessionFactory.getCurrentSession().saveOrUpdate(entity);
} catch (ConstraintViolationException e) {
// Ignore the exception here by doing nothing
}
ÖrnekHata mesajına ulaşmak için şöyle yaparız.
e.getCause().getMessage();
Kaydol:
Kayıtlar (Atom)