-
hibernate中注解manytoone使用复合主键怎样实现?3
具体是这样的,这复合主键中某一个值是一定的。
复合主键为:@IdClass(KeyValuePK.class) public class KeyValue { @Id private String codeType; @Id private String code; @Column private String value;}
manytoone的类为:@Entity @Table @Component public class Items extends IdEntity { private static final long serialVersionUID = 5801788779249940365L; @ManyToOne(cascade = { CascadeType.ALL }) private KeyValue reason;/*这里为复合主键的类,其中code对应items表中的code字段,而codeType的值是一定的,在表items中没有对应的字段,应该怎样用注解实现呢? */
2012年5月18日 11:43
2个答案 按时间排序 按投票排序
-
你的KeyValuePK里面的内容,直接添加就可以!
public class BillTbodyPK implements Serializable { private static final long serialVersionUID = -1190986010439330142L; private SingleInfo mid; private BillHeadModel billId; public BillTbodyPK() { } // setter getter @ManyToOne(fetch = FetchType.LAZY,cascade = { CascadeType.ALL }) @JoinColumn(name = "mid", referencedColumnName = "mid", unique = false, nullable = false, insertable = false, updatable = false) @NotFound(action = NotFoundAction.IGNORE) @Cache(usage = CacheConcurrencyStrategy.READ_ONLY) public SingleInfo getMid() { return mid; } public void setMid(SingleInfo mid) { this.mid = mid; } @ManyToOne @JoinColumn(name = "dj_id", nullable = false) @NotFound(action = NotFoundAction.IGNORE) @Cache(usage = CacheConcurrencyStrategy.READ_ONLY) public BillHeadModel getBillId() { return billId; }
2013年9月02日 14:46
相关推荐
在Hibernate中,我们可以使用`@IdClass`或`@EmbeddedId`注解来处理复合主键。 1. 使用@IdClass `@IdClass`注解用于指定一个单独的类作为复合主键的载体。这个类通常包含与复合主键相关的属性,并且需要实现`java....
文档旨在帮助中文用户更好地理解Hibernate注解的使用方法,虽然翻译版本可能存在与原版文档的一些细微差异,但整体上保持了一致性和准确性。 - **版权声明:** 该文档为非官方翻译版本,用于学习目的。对于翻译中的...
本文档将深入探讨Hibernate注解的使用,帮助开发者更好地理解和利用这些注解来实现对象关系映射(ORM)。 一、Hibernate注解基础 Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而...
Hibernate是一款强大的...通过理解并熟练运用这些注解,你可以在开发中更加高效地使用Hibernate,实现对象与数据库之间的无缝交互。了解这些基础知识后,你将能够更好地管理数据持久化,提升应用程序的性能和可维护性。
在 Hibernate 中,注解是一种简洁且强大的工具,用于替代传统的 XML 配置文件来描述对象模型和数据库之间的映射关系。这篇文档将深入探讨 Hibernate 注解的使用。 ### 第 1 章 创建一个注解项目 在开始使用 ...
- **复合主键映射**:使用 `@EmbeddedId` 或 `@IdClass` 来映射复合主键。 - **次级表映射**:使用 `@SecondaryTable` 注解来映射实体与次级表的关系。 - **实体缓存**:使用 `@Cacheable` 和 `@Cache(usage = ...
@JoinColumn用于指定实体间的关联字段,特别是在处理复合主键和外键时非常有用。 四、注解配置的优缺点 4.1 优点 (1)简化配置:注解使得ORM配置更直观,减少了XML配置的工作量。 (2)可读性强:注解直接嵌入...
Hibernate的映射配置对于实现复杂的数据库操作非常重要,了解和掌握Hibernate注解和XML配置的知识是每个Java数据库开发人员的基本功。通过上述介绍的内容,可以看到无论是简单还是复杂的数据库映射需求,Hibernate都...
在Hibernate中,可以使用@EmbeddedId和@IdClass注解来处理复合主键。@EmbeddedId将一个包含所有主键字段的类作为嵌入式对象,而@IdClass则是在实体类中声明一个包含所有主键属性的类。 **第五部分:Hibernate实体层...
在关联属性定义中使用 XML 文件覆盖注解。 #### 六、附加模块 **6.1 Bean Validation** - **6.1.1 添加 Bean Validation** 添加 Hibernate Validator 依赖。 - **6.1.2 配置** 在 `pom.xml` 或 `build....
### Hibernate Annotations 中文帮助文档概览 ...同时,Hibernate 的注解机制提供了丰富的功能,如映射继承关系、复合主键等高级特性,以及内置的验证和索引支持,使得 Hibernate 成为一个强大的 ORM 工具。
- `@AssociationOverride` 和 `@AttributeOverride`: 在复合主键或嵌套实体中,覆盖默认的关联或属性映射。 **5. 事务处理和缓存** - `@Transactional`: 在服务层方法上标注,启用Spring管理的事务。 - `@Cacheable...
本资料“hibernate注解处理映射关系共14页.pdf.zip”显然是一个关于Hibernate注解使用的详细教程,涵盖了14页的内容。以下是基于该主题的详尽知识点解析: 1. **Hibernate概述**:Hibernate是Java平台上的一个开源...
- **2.2.6 映射复合主键与外键** - 使用 `@CompositeId` 和 `@JoinColumns` 来定义复杂的主键和外键映射。 - **2.2.7 映射二级表(secondary tables)** - 有时候需要将实体Bean的部分属性映射到另外一张表上,...
此外,Hibernate还支持JPA(Java Persistence API)、实体继承、复合主键、查询结果转换为自定义类型等功能,极大地丰富了Java开发中的数据操作。 总之,“Hibernate3.6中文文档”提供了关于Hibernate 3.6的全面...
实体Bean是表示数据库表的对象形式,在Hibernate中通过注解进行配置,可以实现对象与数据库表之间的映射。 ##### 3.2 用EJB3注解进行映射 - **声明实体bean**: - 使用`@Entity`注解标记类为实体。 - 使用`@...
4. 新的持久化模型:支持复合主键、级联操作等更复杂的持久化模型。 5. 可配置的延迟加载:通过注解可以控制属性或关联关系的延迟加载行为。 四、实战应用 1. 创建实体类:利用@Entity、@Table、@Id等注解创建符合...
【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...
在Hibernate中,我们可以使用`@OneToOne`注解来实现这种关系。配置时需要指定关联的字段或属性,以及可选的`fetch`策略(默认为懒加载)和`cascade`策略(用于控制级联操作)。 二、一对多(One-to-Many) 一个...