gnu*_*nuf 5 java hibernate jpa data-modeling
假设我有以下实体为订户建模并使用a CollectionTable来建模订阅列表,如下所示:
@Entity
@Table(name = "SUBSCRIBER")
public class Subscriber {
@ElementCollection
@CollectionTable(name = "PERSON_ORG_SUBSCRIPTIONS",
joinColumns = { @JoinColumn( name = "PERSON_ID", referencedColumnName = "PERSON_ID" ),
@JoinColumn( name = "ORG_ID", referencedColumnName = "ORG_ID" ) } )
@Column(name = "SUBSCRIPTION_NAME")
protected Set<String> _subscriptionNames;
}
Run Code Online (Sandbox Code Playgroud)
所以这创建了一个包含列的表PERSON_ID,ORG_ID和SUBSCRIPTION_NAME.
我正在尝试在SUBSCRIPTION_NAME列上创建数据库索引.但是如果我把以下注释放在_subscriptionNames:
@org.hibernate.annotations.Index( name="subscription_idx", columnNames={"SUBSCRIPTION_NAMES"} )
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
org.hibernate.MappingException: Unable to find logical column name from physical name null in table SUBSCRIBER
Run Code Online (Sandbox Code Playgroud)
我也尝试org.hibernate.annotations.Table在Subscriber实体上使用注释,但似乎没有办法让它引用该PERSON_ORG_SUBSCRIPTIONS表.
我正在使用Hibernate 3.5.3和PostgreSQL 9.0.
小智 0
SUBSCRIBER 表中是否存在名为“SUBSCRIPTION_NAME”的列?
您打算通过代码在表上创建索引吗?您应该正确使用 hibernate.hbm2ddl.auto=create
| 归档时间: |
|
| 查看次数: |
1977 次 |
| 最近记录: |