一.代码 1. package org.jpwh.model.inheritance.tableperclass; import org.jpwh.model.Constants; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persi…
一.结构 二.代码 1. package org.jpwh.model.inheritance.mappedsuperclass; import javax.persistence.MappedSuperclass; import javax.validation.constraints.NotNull; @MappedSuperclass public abstract class BillingDetails { @NotNull protected String owner; // ...…
一.结构 For example, you can map a class hierarchy to a single table, but, for a particular subclass, switch to a separate table with a foreign key–mapping strategy, just as with table-per-subclass. 二.代码 1. package org.jpwh.model.inheritance.mixed; impo…
一.结构 The fourth option is to represent inheritance relationships as SQL foreign key associations. Every class/subclass that declares persistent properties—including abstract classes and even interfaces—has its own table.Unlike the table-per-concrete-…
一.结构 You can map an entire class hierarchy to a single table. This table includes columns for all properties of all classes in the hierarchy. The value of an extra type discriminator column or formula identifies the concrete subclass represented by a…
There are four different strategies for representing an inheritance hierarchy: Use one table per concrete class and default runtime polymorphic behavior. Use one table per concrete class but discard polymorphism and inheritance relationships comple…
一.代码 1. package org.jpwh.model.inheritance.associations.onetomany; import org.jpwh.model.Constants; import javax.persistence.*; import javax.validation.constraints.NotNull; // Can not be @MappedSuperclass when it's a target class in associations! @En…
一.结构 二.代码 1. package org.jpwh.model.inheritance.associations.manytoone; import org.jpwh.model.Constants; import javax.persistence.*; import javax.validation.constraints.NotNull; // Can not be @MappedSuperclass when it's a target class in associations…
一.结构 二.代码 1. package org.jpwh.model.inheritance.embeddable; import javax.persistence.MappedSuperclass; import javax.validation.constraints.NotNull; @MappedSuperclass public abstract class Measurement { @NotNull protected String name; @NotNull protect…
一.结构 二.代码 1. package org.jpwh.model.advanced; import java.io.Serializable; import java.math.BigDecimal; import java.util.Currency; /* This value-typed class should be <code>java.io.Serializable</code>: When Hibernate stores entity instance dat…
一.结构 二.Hibernate支持的UserTypes接口  UserType —You can transform values by interacting with the plain JDBC PreparedStatement (when storing data) and ResultSet (when loading data).By implementing this interface, you can also control how Hibernate caches a…
一.简介 1. 2. 3. 4. to override this default mapping. The JPA specification has a convenient shortcut annotation for this purpose, @Lob @Entity public class Item { @Lob protected byte[] image; @Lob protected String description; // ... } This maps the by…
一.数据库 二.代码 1. package org.jpwh.model.advanced; import javax.persistence.AttributeOverride; import javax.persistence.AttributeOverrides; import javax.persistence.Column; import javax.persistence.Embeddable; import javax.validation.constraints.NotNull;…
一.简介 在JPA中,默认所有属性都会persist,属性要属于以下3种情况,Hibernate在启动时会报错 1.java基本类型或包装类 2.有注解 @Embedded 3.有实现java.io.Serializable 二.Overriding basic property defaults 1.@javax.persistence.Transient 如果不想属性被持久化,则注解 @javax.persistence.Transient 2.@Basic(optional = false…
一.自定义映射的表名 1. @Entity @Table(name = "USERS") public class User implements Serializable { // ... } 2.用定界符 //@Table(name = "`USER`")的标准 @Table(name = "`USER`") //JPA的标准 @Table(name = "\"USER\"") 若全部SQL都加定界符,…
Each @AttributeOverride for a component property is “complete”: any JPA or Hibernate annotation on the overridden property is ignored. This means the @Column annotations on the Address class are ignored—all BILLING_* columns are NULL able!(Bean Valid…
一.数据库 二.代码 1. package org.jpwh.model.simple; import javax.persistence.Column; import javax.persistence.Embeddable; import javax.validation.constraints.NotNull; /** * * Instead of <code>@Entity</code>, this component POJO is marked with <cod…
一.简介 1.You now have three methods for distinguishing references:  Objects are identical if they occupy the same memory location in the JVM . This can be checked with the a == b operator. This concept is known as object identity. Objects are equal i…
一.介绍 1.这种引用方式不对,但删除时不能级联 要这种引用方式 2.The Bid class could be a problem. In object-oriented modeling, this is marked as a composition (the association between Item and Bid with the diamond). Thus, an Item is the owner of its Bid instances and holds a col…
一.结构 二.代码 1. package org.jpwh.model.collections.mapofstrings; import org.jpwh.model.Constants; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; imp…
一.结构 二.代码 1. package org.jpwh.model.collections.listofstrings; import org.jpwh.model.Constants; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; im…
一.结构 A bag is an unordered collection that allows duplicate elements, like the java.util.Collection interface. Curiously, the Java Collections framework doesn’t include a bag implementation. You initialize the property with an ArrayList , andHibernat…
一.结构 二.代码 1. package org.jpwh.model.collections.setofstrings; import org.jpwh.model.Constants; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; imp…
一.结构 二.配置文件约定 The JPA provider automatically picks up this descriptor if you place it in a META-INF /orm.xml file on the classpath of the persistence unit. If you prefer to use a different name or several files, you’ll have to change the configuratio…
一.结构 二.model层 1. package org.jpwh.model.helloworld; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; /* Every persistent entity class must have at least th…
一.Spring支持的View Resolver 二.InternalResourceViewResolver Spring supports JSP views in two ways: InternalResourceViewResolver  Spring provides two JSP tag libraries, one for form-to-model binding and one providing general utility features. 1.在java中定义…
一.在Spring中使用thymeleaf的步骤 1.配置 In order to use Thymeleaf with Spring, you’ll need to configure three beans that enable Thymeleaf-Spring integration: A ThymeleafViewResolver that resolves Thymeleaf template views from logical view names A SpringTempl…
一. 1.定义TilesConfigurer.TilesViewResolver的bean 注意有tiles2和tiles3,这里使用tiles3 (1)java形式 package spittr.web; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.contex…
一.<s:url> <s:url>可以直接生成一个url或url变量,它会在href的基础上加上应用context 1. <a href="<s:url href="/spitter/register" />">Register</a> 如果应用的context是“spittr”,则会转换为 <a href="/spittr/spitter/register">Registe…
一. SPRING支持的GENERAL TAG LIBRARY 1. 二.用<s:message>和ReloadableResourceBundleMessageSource实现国际化 1.配置ReloadableResourceBundleMessageSource,它能it has the ability to reload message properties without recompiling or restarting the application. package spitt…