Dobry den,

a co dat sloupci default hodnotu v SQL?

Jirka

Ondřej Žižka napsal(a):
Zdravím,
už se to tu jednou řešilo:
http://java.cz/konference/2005-December/007592.html
Chtěl bych při INSERTu přes Hibernate vložit do NOT NULL sloupce hodnotu vrácenou z NOW(). Chtěl bych řešení v rámci Hibernate - nechci ukládat lokálně vytvořený Date objekt. Nechci ani škrtnout NOT NULL a dát TRIGGER, který nastaví sloupec na NOW(). V Hibernate jsem našel "custom CRUD commands", http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/hibernate/Annotations_Reference_Guide/Hibernate_Annotation_Extensions-Custom_SQL_for_CRUD_operations.html Ale to má velkou nevýhodu - při změně schématu budu muset vyhledat a změnit daný příkaz. Já bych si představoval takové řešení: @Entity
class User {
@Id private Long id; private String jmeno; @Temporal
  @SQLInsert( sql="NOW()" )
  @org.hibernate.annotations.Generated(GenerationTime.INSERT)
  @Column( insertable=false, updatable=false )
  private Date zalozen;
} Takto by hibernate pro INSERT generoval SQL "INSERT INTO users (..., zalozen) VALUES (..., NOW() )". Navíc by se obecně dala použít vkládaná hodnota, např. @SQLInsert( sql="SQRT(?)" ) Existuje něco takového? Já zatím nic nenašel. Díky za jakékoliv tipy,
Ondra

--
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic

Odpovedet emailem