[hibernate-issues] [Hibernate-JIRA] Commented: (METAGEN-50) Suppress Warnings
Stephan Bublava (JIRA)
noreply at atlassian.com
Wed Jan 19 09:03:05 EST 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/METAGEN-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=39699#action_39699 ]
Stephan Bublava commented on METAGEN-50:
----------------------------------------
{quote}How can a @Deprecated annotation create a problem/warning which needs suppressing in the metamodel?{quote}
We have set "Deprecated API" to "Warning" in Eclipse (Preferences -> Java -> Compiler -> Errors / Warnings), which triggers Eclipse warnings for all references to deprectated constructs.
If Foo.java is deprecated then Eclipse will warn about all attribute definitions in Foo_.java
{quote}Can you provide a testcase/example?{quote}
Here's a simplified example:
{noformat}
@Entity
public class TShirt {
public enum Color {
RED, GREEN, BLUE
};
@Id
@Column(name = "id")
public Long id;
@Type(type = "bitset", parameters = @Parameter(name = "enumClass", value = "TShirt$Color"))
@Column(name = "colors")
public EnumSet<Color> colors;
}
{noformat}
The custom type uses the binary representation of the column value for mapping; for example: 5 => 2^0 + 2^2 => {0, 2} => {RED, BLUE}. I've omitted the actual implementation, because it doesn't influence the meta-model, which looks like this:
{noformat}
@StaticMetamodel(TShirt.class)
public abstract class TShirt_ {
public static volatile SingularAttribute<TShirt, Long> id;
public static volatile SingularAttribute<TShirt, EnumSet> colors;
}
{noformat}
Since it contains EnumSet instead of EnumSet<Color>, there are Eclipse warnings as well (with the settings we are using).
> Suppress Warnings
> -----------------
>
> Key: METAGEN-50
> URL: http://opensource.atlassian.com/projects/hibernate/browse/METAGEN-50
> Project: Hibernate Metamodel Generator
> Issue Type: Improvement
> Components: processor
> Affects Versions: 1.1.1.Final
> Reporter: Stephan Bublava
> Assignee: Hardy Ferentschik
> Priority: Minor
>
> Please consider adding a @SuppressWarnings("all") annotation to the generated classes. Warnings in generated code are not helpful.
> In my case the warnings (driven by IDE settings) are caused by:
> 1) Entities marked as @Deprecated.
> 2) A custom Hibernate user type that maps a numeric SQL type into an EnumSet<T>. The generated SingularAttribute does not preserve the type of the set.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list