Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate基元类型映射_Hibernate_Annotations - Fatal编程技术网

Hibernate基元类型映射

Hibernate基元类型映射,hibernate,annotations,Hibernate,Annotations,在Hibernate中,是否可以使用Java基元类型将一个实体列与另一个表连接起来 比如说 @JoinColumn(name = "ITEM_ID", referencedColumnName = "LABEL", insertable=false, updatable=false, table="ITEM_DATA") private String itemLabel; 我只需要加载项的标签,是否有任何注释可用于解决此问题 期待你的回答 提前感谢您可以: 1) 在数据库中创建具有该属性的视

在Hibernate中,是否可以使用Java基元类型将一个实体列与另一个表连接起来

比如说

@JoinColumn(name = "ITEM_ID",  referencedColumnName = "LABEL", insertable=false, updatable=false, table="ITEM_DATA")
private String itemLabel;
我只需要加载项的标签,是否有任何注释可用于解决此问题

期待你的回答

提前感谢

您可以:

1) 在数据库中创建具有该属性的视图,并将实体映射到该属性(这可能会导致更新出现一些问题,具体取决于您使用的数据库)

2) 将Item_数据属性添加到类中(映射到Item_数据表,使用适当的FK),然后包装getLabel属性:

public virtual string getItemLabel{ get { return Item.label; } }

无论如何,hibernate必须进行连接以获得正确的属性,因此至少您拥有整个对象,以防将来需要访问更多属性

我按照您在第2页上解释的方式完成了操作。选项在内存中加载那个对象太贵了,这就是为什么我想使用字符串。谢谢你的回答。你使用了延迟加载吗?如果您不是一直使用该属性,那么hibernate只会在使用该属性时加载该对象。。。或者选择我用过的lazy。我想我的想法是错误的。正如你所说,我必须使用pojo。Thnks