[ 
https://issues.apache.org/jira/browse/CAY-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrus Adamchik updated CAY-1752:
---------------------------------
    Summary: DbAttribute should have its own "javaType"  (was: DbAttribute 
should have "javaType")

> DbAttribute should have its own "javaType"
> ------------------------------------------
>
>                 Key: CAY-1752
>                 URL: https://issues.apache.org/jira/browse/CAY-1752
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>            Priority: Major
>         Attachments: 
> 0001-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0002-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0003-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0004-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0005-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0006-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0007-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0008-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0009-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0010-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 0011-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0001-0012-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0013-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0014-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0015-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0016-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 
> 1-0017-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch
>
>
> Let's make "javaType" a property of DbAttribute. By default it will be 
> auto-generated from JDBC type. And we can allow to optionally override it at 
> the ObjAttribute level (with an explicit conversion when creating objects 
> from DataRows).
> h2. Problems it Solves
> * Non-standard type mapping (the whole OTHER type implies we provide some 
> Java class for it). This provides runtime consistency and eliminates the 
> internal hacks such as when Cayenne would try to guess which ObjEntities 
> might use this DataRow, and populate DataRows with values corresponding to 
> the ObjAttribute type definitions. This clearly breaks layer separation and 
> doesn't always work.
> * Unexpected PK types. PK columns are often not mapped as ObjAttributes, so 
> their type is guessed by Cayenne, and if the type is something vague such as 
> NUMBER, you may get BigDecimals, and other inappropriate types, and you can  
> no longer reliably compare objects.
> Prior discussions:
> * http://markmail.org/message/6bs2suislyfp3apk
> * http://markmail.org/message/icr7seqazgsdtewc



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to