データベースを持つ休憩サービスがあります。entityfacade を使用して EJB のデータベースにエンティティを追加すると、1 つのエンティティ変数の価格に実数が必要になります。クライアントから xml 形式の文字列として価格を入力すると、例外はスローされず、データベースは代わりに 0 を登録します。変数を大きくしすぎると、適切な例外がスローされます。
なぜこれが起こっているのかについてのアイデアはありますか?または、データベーステーブルを整数のみを受け入れるように設定する方法はありますか?
@Entity
@Table(name = "BOOKS", catalog = "", schema = "DAVID")
@XmlRootElement
public class Books implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
//@NotNull
@Column(name = "BOOKID")
private Integer bookid;
@Basic(optional = false)
@NotNull
@Column(name = "ISBN")
private long isbn;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 40)
@Column(name = "PUBLISHER")
private String publisher;
@Column(name = "QUANTITY")
private int quantity;
@Basic(optional = false)
@NotNull
@Column(name = "PRICE")
private float price;
CREATE TABLE BOOKS (BOOKID INTEGER DEFAULT AUTOINCREMENT: start 1 increment 1 NOT NULL GENERATED ALWAYS AS IDENTITY, ISBN BIGINT NOT NULL, TITLE VARCHAR(100) NOT NULL, COPYRIGHT VARCHAR(4) NOT NULL, PUBLISHER VARCHAR(40) NOT NULL, QUANTITY INTEGER, PRICE REAL NOT NULL, PRIMARY KEY (BOOKID));