Java 如何将搜索对象映射到具有更多JPA注释字段的类
我是JPA的新手 我需要将搜索对象映射到表。 搜索对象只有和id、名称。大对象有更多的文件id、名称、地址等 我用这个作为大对象 是否查看从纯拷贝到剪贴板打印 我用这个作为大对象Java 如何将搜索对象映射到具有更多JPA注释字段的类,java,spring,jpa,mapping,Java,Spring,Jpa,Mapping,我是JPA的新手 我需要将搜索对象映射到表。 搜索对象只有和id、名称。大对象有更多的文件id、名称、地址等 我用这个作为大对象 是否查看从纯拷贝到剪贴板打印 我用这个作为大对象 @Entity @Table(name="users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String name; private String
@Entity
@Table(name="users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private String adress;
private String keywords;
}
//this is my search object
@XXX
public class UserSearch {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
}
我需要使用哪些注释将搜索对象映射到表用户
我正在使用spring+struts2+hibernate+JPA
谢谢你的帮助!
谢谢 就这样?它应该会起作用。你有没有试过,结果出错?告诉我们错误是什么可能会有所帮助。如果可能的话,使局部视图不可变可能也是明智的。如果您解释了为什么要这样做,可能还有其他选择:)
应该没问题。就这样?它应该会起作用。你有没有试过,结果出错?告诉我们错误是什么可能会有所帮助。如果可能的话,使局部视图不可变可能也是明智的。如果您解释了为什么要这样做,可能还有其他选择:) 应该很好用 我需要使用哪些注释将搜索对象映射到表用户 如果要将注释映射到不默认为实体名称的表,则需要使用
@Table
注释:
@Entity
@Table(name = "Users")
public class UserSearch {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
}
但是,如果这个类用于搜索结果,并且您不打算持久化UserSearch
实例,那么您实际上不需要将它变成一个实体。假设您提供了适当的构造函数:
public class UserSearch {
private long id;
private String name;
public UserSearch(long id, String name) {
this.id = id;
this.name = name;
}
}
您可以将此类与SELECT NEW(选择新建)结合使用,如下所示:
SELECT NEW com.acme.UserSearch(u.id, u.name) FROM User u
我需要使用哪些注释将搜索对象映射到表用户
如果要将注释映射到不默认为实体名称的表,则需要使用@Table
注释:
@Entity
@Table(name = "Users")
public class UserSearch {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
}
但是,如果这个类用于搜索结果,并且您不打算持久化UserSearch
实例,那么您实际上不需要将它变成一个实体。假设您提供了适当的构造函数:
public class UserSearch {
private long id;
private String name;
public UserSearch(long id, String name) {
this.id = id;
this.name = name;
}
}
您可以将此类与SELECT NEW(选择新建)结合使用,如下所示:
SELECT NEW com.acme.UserSearch(u.id, u.name) FROM User u