Como validar um objeto com @NotNull?

Estou tentando validar o preenchimento do objeto Banner, e não consigo validar o preenchimento do campo TipoBanner que fica em Banner.
É um combo box (select) no formulário.
Mesmo quando não seleciono um tipo de banner no combo o objeto não fica nulo, apenas com os campos vazios, acredito que por isso o @NotNull não funciona.
Como posso fazer para validar o preenchimento do combo no servidor? (ou seja, nada de javascript/html/etc)
Porque esse objeto tipoBanner não está nulo?

[code]@Entity
public class Banner {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer codigo;
@Size(max = 200, message = “{site.banner.descricao.maxsize}”)
@NotBlank(message = “{site.banner.descricao.blank}”)
private String descricao;
@ManyToOne(targetEntity = TipoBanner.class)
@JoinColumn(name = “codigo_tipobanner”, referencedColumnName = “codigo”)
@NotNull(message = “{site.banner.tipoBanner.notnull}”)
private TipoBanner tipoBanner;
}

@Entity
public class TipoBanner {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer codigo;
@Size(max = 50, message = “{site.tipoBanner.descricao.maxsize}”)
@NotBlank
private String descricao;
}
[/code]

Ninguém sabe?
Está faltando alguma informação para entender o problema?

Oi filipesg, numa batida de olho rápida parece estar certo o mapeamento. a sua combo é do jsf? no debug não tá indo objeto com id qdo vc não seleciona nada?
A anotação @NotNull irá barrar a gravação de for valor nulo no atributo - integridade do banco.