当前位置: 首页 > 面试题库 >

休眠中的实体和值类型

贡建修
2023-03-14
问题内容

对象级别,实体类型和值类型之间有什么区别?我知道实体将具有ID,但值将没有,但为什么我们需要不同的方式来映射实体与值类型?

这样做是为了让hibernate状态可以对值类型应用任何优化


问题答案:

实体已经定义了表的持久化位置。因此,当您在实体A中拥有B实体的列表时,则无需为B定义目标表:B已经定义了它。值类型没有任何关联的表,因此List<String>实体A
中的in 映射必须定义将使用哪个表来存储此列表。

而且,根据定义,值类型始终完全由其包含实体拥有。删除实体后,您还将删除与此实体关联的所有字符串。实体并非如此:删除课程实体时,不会删除其所有学生。

这只是两个示例,表明必须定义不同的映射属性。



 类似资料:
  • 问题内容: 使用Hibernate在数据库中存储IP地址的最佳类型是什么? 我虽然是Byte []或String,但是有没有更好的方法,或者您使用什么呢? 问题答案: 我将其存储在很 长 很 长的时间内 以进行查找。您可以使用以下功能进行转换。 还有这个 您可能需要通过检查参数来改进它们。

  • 问题内容: 我使用Hibernate 4和Spring 3。 我有两个实体。 图书实体 和作者实体 和JSON取决于pom.xml 我的根上下文在这里- … servlet-context.xml 控制器。 在我的DAO中找到findAll: 在调试中,我看到该方法返回2条记录,但是Spring无法将结果转换为JSON并返回406 HTTP错误。怎么了? 我附上我在调试中看到的图像。- http:

  • 问题内容: 当我使用@Entity注释类并尝试解决依赖关系时,我可以在两个不同的包javax.persistence.Entity和org.hibernate.annotations.Entity中选择包。 javax包是JPA的实体注释,但是为什么会有休眠的实体注释,它与JPA的注释有区别?仅仅是允许定义更多属性的扩展吗? 问题答案: 具有一些尚未标准化的额外属性。仅当直接使用hibernate

  • 问题内容: 有谁知道那里是否有一个能够从实体类中剥离Hibernate集合以使其可序列化的框架?我看了一下BeanLib,但它似乎只做实体的深层副本,而不允许我为实体类中的集合类型指定实现映射。BeanLib当前不适用于Hibernate 3.5和Spring 3(我确实修改了源代码并能够使其正常工作,但我不想这样做)。吉利德(Gilead)似乎是一个选择,但它似乎具有侵入性。我宁愿使用简单的深度

  • 问题内容: 我想知道是什么样的区别和当一个人想要从一个超类派生。我知道这不会在数据库中为表创建表。我在doc中读到 “抽象实体就像具体实体,但是无法实例化” 。由于无法实例化它们,因此我推断数据库中 没有匹配的表 。我对吗? 如果是这样,使用a 和an 之间实际上有什么区别,并且在每种情况下对软件和数据库有什么影响? 问题答案: MappedSuper类将继承用于字段和代码的重用。例如,如果您希望

  • 问题内容: 能否请您告诉我,我如何才能很好地为Hibernate实体启用Spring自动装配? 假设我有一个实体,并希望在那里有邮件发送者: 有没有比做的更好的方法 在我的DAO中? 谢谢! 问题答案: 有可能的!(这是Spring Roo中的默认样式!) 您所需要做的就是将@Configurable批注添加到您的实体。在配置中并使用AspectJ编织激活注释。 Spring参考中有一章:7.8.