Tôi hiện đang di chuyển dự án của mình từ Hibernate HBM Mappings sang Annotations. Mọi thứ đều dễ dàng như tôi giải quyết với các lớp học nhỏ. Nhưng tôi có cùng một lớp học lớn và tôi cố gắng kết hợp cả ánh xạ và chú thích cho lớp này. Tôi đọc rằng điều này là có thể bằng cách sử dụng thuộc tính ngủ đông "hibernate.mapping.precedence" và đặt nó thành "class, hbm" thay vì "hbm, class". (Xem: In Hibernate: is it possible to mix Annotations and XML configuration for an Entity?)Hibernate: Di chuyển từ ánh xạ tới chú thích - có thể trộn hbm và chú thích không?
Ví dụ tôi có lớp sau Document:
@Entity
@Table(name="DOCUMENT")
public class Document {
@Column(name="DESCRIPTION")
private String description;
}
và file Document.hbm.xml sau:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Document" table="DOCUMENT" >
<id name="id" column="DOCUMENT_ID" type="long" />
</class>
</hibernate-mapping>
Trong file hibernate.cfg.xml của tôi Tôi đặt:
<property name="hibernate.mapping.precedence">class, hbm</property>
<mapping class="Document"/>
<mapping resource="Document.hbm.xml"/>
Vấn đề của tôi là: - nếu tôi đặt "class, hbm "cho ưu tiên sau đó tôi có CHỈ chú thích của tôi trong tài liệu lớp - nếu tôi đặt" hbm, lớp "thì tôi CHỈ CHỈ ánh xạ của tôi trong hbm ressource
Có ai knwo nếu có một cách để có cả hai chú thích và Bản đồ HBM?
Cảm ơn
Kamran
PS: Tôi sử dụng: Hibernate 4.1.4 và Spring Framework 3.1.1
Kính gửi Pablo, cảm ơn rất nhiều về việc làm rõ này. ! – marcam
Dude rất hữu ích –