사용자 도구

사이트 도구


java:hibernate:mssqlserver

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:hibernate:mssqlserver [2018/05/24 17:54]
kwon37xi [NVARCHAR Dialect 매핑]
java:hibernate:mssqlserver [2018/09/10 13:44]
kwon37xi [가설]
줄 1: 줄 1:
 ====== Hibernate & MS SQL Server ====== ====== Hibernate & MS SQL Server ======
 +  * [[java:hibernate|Hibernate]]와 [[:mssqlserver|MS SQL Server]]
  
 ===== NVARCHAR Dialect 매핑 ===== ===== NVARCHAR Dialect 매핑 =====
줄 8: 줄 9:
   * [[https://stackoverflow.com/questions/27039300/jpa-sql-server-no-dialect-mapping-for-jdbc-type-9|java - JPA SQL Server No Dialect mapping for JDBC type: -9]]   * [[https://stackoverflow.com/questions/27039300/jpa-sql-server-no-dialect-mapping-for-jdbc-type-9|java - JPA SQL Server No Dialect mapping for JDBC type: -9]]
   * [[https://questionfocus.com/getting-hibernate-and-sql-server-to-play-nice-with-varchar-and-nvarchar.html|Getting Hibernate and SQL Server to play nice with VARCHAR and NVARCHAR - QuestionFocus]]   * [[https://questionfocus.com/getting-hibernate-and-sql-server-to-play-nice-with-varchar-and-nvarchar.html|Getting Hibernate and SQL Server to play nice with VARCHAR and NVARCHAR - QuestionFocus]]
-  * [[https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/dialect/SQLServer2008Dialect.java|SQLServer2008Dialect]]에서 NVARCHAR ''registerColumnType'' 돼 있음+  * [[https://blogs.msdn.microsoft.com/sqlcat/2010/04/05/character-data-type-conversion-when-using-sql-server-jdbc-drivers/|Character data type conversion when using SQL Server JDBC drivers | SQL Server Customer Advisory Team]] 
 +==== Entity에 NVARCHAR 컬럼 선언을 하려면 ==== 
 + 
 +  * [[https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/dialect/SQLServer2008Dialect.java|SQLServer2008Dialect]]에서 NVARCHAR ''registerColumnType'' 돼 있음 따라서 이 이후 버전 Dialect를 사용하면 NVARCHAR 매핑이 작동한다. 
 +  * ''@org.hibernate.annotations.Nationalized'' 애노테이션을 통해 ''NVARCHAR'' 로 Entity Column 매핑을 할 수 있다.<code java> 
 +// NVARCHAR 매핑 
 +@Basic 
 +@Nationalized 
 +public String description; 
 + 
 + 
 +// NCLOB 매핑 
 +@Lob 
 +@Basic 
 +@Nationalized 
 +public NClob description; 
 +</code> 
 + 
 + 
 +==== SELECT 결과 컬럼에 NVARCHAR 등이 있을 경우에 해석을 위한 Dialect 추가 설정 ====
  
 <code java> <code java>
줄 29: 줄 49:
 </code> </code>
   * ''registerHibernateType''은 [[java:hibernate:dialect|Hibernate Dialect]] 참조   * ''registerHibernateType''은 [[java:hibernate:dialect|Hibernate Dialect]] 참조
-  * ''@org.hibernate.annotations.Nationalized'' 애노테이션을 통해 ''NVARCHAR'' 로 Entity Column 매핑을 할 수 있다.+ 
java/hibernate/mssqlserver.txt · 마지막으로 수정됨: 2018/09/10 13:44 저자 kwon37xi