0
我使用此向导从我的数据库创建实体类。有些表格尚未转换为类别,但有些属性可识别关系。Netbeans wizard来自数据库的实体类,并非所有表映射
this is my db ERD(MySQL的)
,这是用户的实体类(属性)
@Entity
@Table(name = "user")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
@NamedQuery(name = "User.findByOid", query = "SELECT u FROM User u WHERE u.oid = :oid"),
@NamedQuery(name = "User.findByUsername", query = "SELECT u FROM User u WHERE u.username = :username"),
@NamedQuery(name = "User.findByPassword", query = "SELECT u FROM User u WHERE u.password = :password"),
@NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u WHERE u.email = :email"),
@NamedQuery(name = "User.findByAddress", query = "SELECT u FROM User u WHERE u.address = :address"),
@NamedQuery(name = "User.findBySince", query = "SELECT u FROM User u WHERE u.since = :since")})
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "oid")
private Integer oid;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 15)
@Column(name = "username")
private String username;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 15)
@Column(name = "password")
private String password;
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 30)
@Column(name = "email")
private String email;
@Size(max = 50)
@Column(name = "address")
private String address;
@Basic(optional = false)
@NotNull
@Column(name = "since")
@Temporal(TemporalType.DATE)
private Date since;
@JoinTable(name = "favorite", joinColumns = {
@JoinColumn(name = "user_oid", referencedColumnName = "oid")}, inverseJoinColumns = {
@JoinColumn(name = "wheelchair_oid", referencedColumnName = "oid")})
@ManyToMany
private List<Wheelchair> wheelchairList;
@ManyToMany(mappedBy = "userList1")
private List<Wheelchair> wheelchairList1;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "senderOid")
private List<Comment> commentList;
@JoinColumn(name = "role_oid", referencedColumnName = "oid")
@ManyToOne(optional = false)
private Role roleOid;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "userOid")
private List<Orthopedy> orthopedyList;
public User() {
}
...
我不明白的东西: 其中自己的连接表? 为什么我有userList1和wheelchairList1?它应该识别OWN表吗?在这种情况下,我可以在这里重命名它,或者我必须在某个xml文件中重命名它? 为什么
@OneToMany(cascade = CascadeType.ALL, mappedBy = "userOid")
private List<Orthopedy> orthopedyList;
? 它应该是OneToOne ...
此外,“从实体类的JSF”向导创建CRUD操作来管理用户,我如何管理连接表?我需要在控制器中写些什么?
请问我可以把一些资源链接到我可以学习的地方吗?
太感谢你了
谢谢你,这段代码会在会话bean中正确吗? – Marco
@Marco我在无状态的本地会话bean中做了它 – 3gth
我的OWN表呢?你知道吗? – Marco