Exact determination of a gene network is required to discover the higher-order structures of an organism and to interpret its behavior. Currently, learning gene network is one of the central themes of the post genome era. A lot of mathematical models are applied to learn gene networks. Among them, Bayesian network has shown its advantages over other methods because of its abilities to handle stochastic events, control noise, and handle dataset with a few replicates. In this chapter, we will introduce how Bayesian network has been applied to learn gene networks and how we integrated the important biological factors into the framework of Bayesian network to improve the learning performance.