Hai centrato in pieno la casistica :-)
Le insert-Update-delete non vengono infatti fatte sulla view, ma sulla tabella, grazie alle seguenti righe nell'XML
codice:
<sql-insert>insert into CONTATTI (CAP, COGNOME, DATA, IDRUBRICA, NOME, VIA) values (?, ?, ?, ?, ?, ?)</sql-insert>
<sql-update>update CONTATTI set CAP=?,COGNOME=?,DATA=?,IDRUBRICA=?,NOME=?, VIA=? where IDCONTATTO=?</sql-update>
<sql-delete>delete from CONTATTI where IDCONTATTO =?</sql-delete>
Inoltre come Punto fermo di progetto, le view contengono sempre ALMENO tutti i campi della tabella.
Nell'unico campo non appartenenete alla tebella (PROPRIETARIO) ho già usato gli attributi insert ed update come giustamente da te indicato:
codice:
<property column="PROPRIETARIO" name="Proprietario" type="string" insert="false" update="false" />
Tutto dovrebbe funzionare, ma il problema e che quando hibernate va a fare la insert, ottengo il seguente errore
codice:
Get Message:java.sql.SQLException: Indice di colonna non valido org.hibernate.exception.GenericJDBCException: could not insert
L'errore è dovuto al fatto che Hibernate considera l'oggetto di N colonne (PROPERTY), mentre nella definizione della INSERT si ritrova con N-1 colonne.
L'unico modo sarebbe definire la colonna aggiuntiva PROPRIETARIO come @transient, ma è proprio questo che non riesco a fare.
Ti viene in mente qualcosa per aiutarmi?